article subtitle {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

@media (min-width: 1024px) {
  article subtitle {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

article h1 {
  scroll-margin: 5rem;
  font-size: 2.25rem;
  line-height: 2.5rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}

article p + h1 {
  margin-top: 3rem;
}

article h2 {
  margin-top: 2rem;
  margin-bottom: 2rem;
  scroll-margin: 5rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}

article h3 {
  margin-top: 1rem;
  margin-bottom: 1rem;
  scroll-margin: 5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}

article h4 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  scroll-margin: 5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}

article subtitle {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

article p {
  line-height: 1.75rem;
}

article p:not(:first-child) {
  margin-top: 1.5rem;
}

article :where(code):not(:where([class~="not-prose"] *)):before {
  content: "";
}

article :where(code):not(:where([class~="not-prose"] *)):after {
  content: "";
}

article p a {
  text-decoration-line: underline;
}

article pre {
  margin-top: 1rem;
  margin-bottom: 1rem;
  max-height: 650px;
  overflow-x: auto;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(9 9 11 / var(--tw-bg-opacity));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

@media (prefers-color-scheme: dark) {
  article pre {
    --tw-bg-opacity: 1;
    background-color: rgb(24 24 27 / var(--tw-bg-opacity));
  }
}

article p > code {
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
  padding: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
